<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>属性的简洁表示法</title>
  </head>
  <body>
    <script>
      // es6允许在大括号里面直接写入变量和函数，作为对象的属性和方法。这样的书写更简洁
      var foo = "bar";
      var baz = { foo };
      console.log(baz); // {foo: "bar"}
      // 等同于
      var baz = { foo: foo };
      // 上面代码中，变量foo直接写在大括号里面。这时，属性名就是变量名，属性值就是变量值。
      function f(x, y) {
        return { x, y };
      }
      //等同于
      function fn(x, y) {
        return { x: x, y: y };
      }
      f(1, 2); // Object {x: 1, y: 2}
      fn(1, 2); // Object {x: 1, y: 2}
    </script>
    <script>
      // 方法也可以简写
      let birth = "2000/01/01";
      const Person = {
        name: "张三",
        //等同于birth: birth
        birth,
        // 等同于hello: function ()...
        hello() {
          console.log("我的名字是", this.name);
        }
      };
      // 对象里面，键名和键值一样时，可以省略一个，这就是简写的外在表现
    </script>
  </body>
</html>
